diff -upr frogatto-1.3.1.orig/Makefile frogatto-1.3.1/Makefile
--- frogatto-1.3.1.orig/Makefile	2012-12-09 00:36:13.000000000 +0200
+++ frogatto-1.3.1/Makefile	2020-04-25 20:36:32.066907199 +0300
@@ -22,7 +22,7 @@
 #                     found in PATH), this option has no effect.
 #
 
-OPTIMIZE=yes
+OPTIMIZE=no
 CCACHE?=ccache
 USE_CCACHE?=$(shell which $(CCACHE) 2>&1 > /dev/null && echo yes)
 ifneq ($(USE_CCACHE),yes)
@@ -34,7 +34,7 @@ BASE_CXXFLAGS += -O2
 endif
 
 # Initial compiler options, used before CXXFLAGS and CPPFLAGS.
-BASE_CXXFLAGS += -g -fno-inline-functions -fthreadsafe-statics -Wnon-virtual-dtor -Werror -Wignored-qualifiers -Wformat -Wswitch
+BASE_CXXFLAGS += -fno-inline-functions -fthreadsafe-statics -Wnon-virtual-dtor -Werror -Wformat -Wswitch -Wno-narrowing
 
 # Compiler include options, used after CXXFLAGS and CPPFLAGS.
 INC := $(shell pkg-config --cflags x11 sdl glu glew SDL_image libpng zlib)
@@ -60,7 +60,7 @@ game: $(objects)
 	$(CCACHE) $(CXX) \
 		$(BASE_CXXFLAGS) $(LDFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(INC) \
 		$(objects) -o game \
-		$(LIBS) -lboost_regex-mt -lboost_system-mt -lpthread -fthreadsafe-statics
+		$(LIBS) -lboost_regex -lboost_system -lpthread -fthreadsafe-statics
 
 # pull in dependency info for *existing* .o files
 -include $(objects:.o=.d)
@@ -69,7 +69,7 @@ server: $(server_objects)
 	$(CCACHE) $(CXX) \
 		$(BASE_CXXFLAGS) $(LDFLAGS) $(CXXFLAGS) $(CPPFLAGS) \
 		$(server_objects) -o server \
-		$(LIBS) -lboost_regex-mt -lboost_system-mt -lboost_thread-mt -lboost_iostreams-mt
+		$(LIBS) -lboost_regex -lboost_system -lboost_thread -lboost_iostreams
 
 clean:
 	rm -f *.o *.d game
diff -upr frogatto-1.3.1.orig/src/code_editor_dialog.cpp frogatto-1.3.1/src/code_editor_dialog.cpp
--- frogatto-1.3.1.orig/src/code_editor_dialog.cpp	2012-12-09 00:36:13.000000000 +0200
+++ frogatto-1.3.1/src/code_editor_dialog.cpp	2020-04-25 20:37:25.271352863 +0300
@@ -55,7 +55,7 @@ void code_editor_dialog::init()
 
 	//std::cerr << "CED: " << x() << "," << y() << "; " << width() << "," << height() << std::endl;
 	drag_widget* dragger = new drag_widget(x(), y(), width(), height(),
-		drag_widget::DRAG_HORIZONTAL, NULL, 
+		drag_widget::DRAG_HORIZONTAL, [](int, int){}, 
 		boost::bind(&code_editor_dialog::on_drag_end, this, _1, _2), 
 		boost::bind(&code_editor_dialog::on_drag, this, _1, _2));
 
diff -upr frogatto-1.3.1.orig/src/filesystem.cpp frogatto-1.3.1/src/filesystem.cpp
--- frogatto-1.3.1.orig/src/filesystem.cpp	2012-12-09 00:36:13.000000000 +0200
+++ frogatto-1.3.1/src/filesystem.cpp	2020-04-25 20:37:30.291458013 +0300
@@ -405,8 +405,14 @@ void get_files_in_dir(const std::string&
 	}
 #else
 	struct stat st;
+	std::string dirname;
 
-	DIR* dir = opendir(directory.c_str());
+	if(have_datadir)
+		dirname = data_dir + "/" + directory;
+	else
+		dirname = directory;
+
+	DIR* dir = opendir(dirname.c_str());
 
 	if(dir == NULL) {
 		return;
@@ -437,14 +443,14 @@ void get_files_in_dir(const std::string&
 #endif /* !APPLE */
 
 		std::string fullname;
-		if (directory.empty() || directory[directory.size()-1] == '/'
+		if (dirname.empty() || dirname[dirname.size()-1] == '/'
 #ifdef __AMIGAOS4__
-			|| (directory[directory.size()-1]==':')
+			|| (dirname[dirname.size()-1]==':')
 #endif /* __AMIGAOS4__ */
 		)
-			fullname = directory + basename;
+			fullname = dirname + basename;
 		else
-			fullname = (directory + "/") + basename;
+			fullname = (dirname + "/") + basename;
 
 		if (::stat(fullname.c_str(), &st) != -1) {
 			if (S_ISREG(st.st_mode)) {
diff -upr frogatto-1.3.1.orig/src/surface_cache.cpp frogatto-1.3.1/src/surface_cache.cpp
--- frogatto-1.3.1.orig/src/surface_cache.cpp	2012-12-09 00:36:13.000000000 +0200
+++ frogatto-1.3.1/src/surface_cache.cpp	2020-04-25 20:38:31.589411134 +0300
@@ -116,7 +116,7 @@ surface get_no_cache(const std::string&
 	}
 #endif // ANDROID
 	//std::cerr << "loading image '" << fname << "'\n";
-	if(surf.get() == false || surf->w == 0) {
+	if(surf.get() == nullptr || surf->w == 0) {
 		if(key != "") {
 			std::cerr << "failed to load image '" << key << "'\n";
 		}
diff -upr frogatto-1.3.1.orig/src/texture.hpp frogatto-1.3.1/src/texture.hpp
--- frogatto-1.3.1.orig/src/texture.hpp	2012-12-09 00:36:13.000000000 +0200
+++ frogatto-1.3.1/src/texture.hpp	2020-04-25 20:38:39.952920335 +0300
@@ -58,7 +58,7 @@ public:
 	unsigned int get_id() const;
 	static void set_current_texture(unsigned int id);
 	void set_as_current_texture() const;
-	bool valid() const { return id_; }
+	bool valid() const { return static_cast<bool>(id_); }
 
 	static texture get(const std::string& str, int options=0);
 	static texture get(const std::string& str, const std::string& algorithm);
